package io;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class CopyDemo2 {
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream("youdao.jpg");
        FileOutputStream fos = new FileOutputStream("youdao2.jpg");

        /*
        * InputStream超类中定义了块读取数据的方法
        * int read(byte [] date)
        * 一次性读取给定的字节数组date总长度的字节量，并存入到数组中，
        * 返回值表示实际读取到了多少个字节，若返回-1表示读取到了末尾
        * */
        byte [] date = new byte[1024*10];
        int len ;
        long start = System.currentTimeMillis();
        while((len = fis.read(date))!= -1){
            fos.write(date,0,len);
        }
        long end = System.currentTimeMillis();
        System.out.println("用时："+(end-start));



        //此方法会数据超出
       /*
        byte [] date = new byte[1024*10];//10kb
        long start = System.currentTimeMillis();
        while (fis.read(date)!=-1){//每次读取10kb，并判断是否读到了末尾
            fos.write(date);
        }
        long end = System.currentTimeMillis();
        System.out.println("耗时："+(end -start)+"ms");
        fis.close();
        fos.close();

        */


    }
}
